/* Canon Information Systems is not responsible for anything anyone does with this */
/* code, nor are they responsible for the correctness of this code. Basically, this */
/* has very little to do with the company I work for, and you can't blame them. */
/* You are welcome to do as you would with this file under the following conditions. */
/* First, I accept no blame for anything that goes wrong no matter how you use it, */
/* no matter how catastrophic, not even if it stems from a bug in my code. */
/* Second, please keep my notices on it when/if you distribute it. */
/* Third, if you discover any bugs or have any comments, PLEASE TELL ME! Code won't */
/* get better without people picking it apart and giving the writer feedback. */
/* Fourth, if you modify it, please keep a notice that your version is based on mine */
/* in the source files (and keep the notice that mine is based on four other pieces */
/* of code :<). Thanks, and have fun. - Subrata Sircar, ssircar@canon.com */
Briefcase - a utility for opening multiple files/documents in different applications.
Version 1.0 fixes several minor bugs. The Localization code needed the launchDirectory before the app delegate was instantiated. Several other strings were localized. I also added an "Easter Egg".
This program has two reasons for existence. First, I wanted to generalize the
multiple-document architecture embodied in Draw for use in my own applications.
To do that, I decided to implement an application delegate superclass, which can
readily be added to existing applications and connected in IB. There is also a
Document superclass, which implements the things I thought documents should keep
track of (dirty, empty, file management, etc.) To demonstrate that these classes
are at least somewhat subclassable (and hence of value to others), I wrote
Briefcase with this paradigm. This package also includes a Preferences Delegate
object, which manages a preferences panel; support for localization; and other
goodies.
The second reason is that I often find myself working with the same collection of
three documents, one word processor, one graphics and one spreadsheet document. In
this case, I don't need feedback about the documents launching; I just want to launch
them all at once, with one key click. Briefcase will allow you to specify files to be
launched in one of three ways: either by typing in the absolute path (ended by a return)
using the Open panel, or by dragging and dropping the file(s) on the app's icon. These
files are displayed in a window which the user can edit. When you save the document,
Briefcase writes a quick C program to open the files, compiles it and drops it in the
directory you specified. (There will also be a <file>.bc document in that directory.
Please avoid stepping on this - it is necessary for now.) Running this program launches
the files. Now, you can create mini-programs for use in the dock, or in your directory
which will launch multiple files in different directories in different applications
at once.
Full Documentation (such as it is) can be found in the Help panel. Once again, please
forward comments to me - that's the only thing I'm asking in return for releasing the
code. I want to learn how to do things right, and I'm asking you to help me. Thanks!
Oh yeah. Just type 'make' at a prompt - it has the standard NeXT IB-generated Makefile. It should compile with no warnings. A prebuilt version is also provided.